#!/bin/bash
# OKX Trading Robot Database Installation Script
# 执行指定目录中的所有脚本

MYDATE=$(date +%F'-'%T'-'%w)
WORKDIR=$(cd $(dirname $0); pwd)
SQL_PATH=${WORKDIR}/table
LOG_FILE=${WORKDIR}/exec_${MYDATE}.log

# 加载环境变量
if [ -f "../../.env" ]; then
    echo "✅ 从 .env 文件加载配置"
    export $(cat ../../.env | grep -v '^#' | xargs)
else
    echo "⚠️  未找到 .env 文件，使用默认配置"
    echo "💡 建议创建 .env 文件来配置数据库连接"
fi

# 数据库配置 - 从环境变量读取，如果没有则使用默认值
db_host=${DB_HOST:-localhost}
db_port=${DB_PORT:-3306}
db_name=${DB_NAME:-okx_robot_db}
db_user=${DB_USERNAME:-root}
db_pass=${DB_PASSWORD:-admin123*}

echo "开始安装 OKX Trading Robot 数据库..."

# 创建数据库
echo "正在创建数据库..."
mysql -h ${db_host} -u${db_user} -p${db_pass} -P${db_port} --default-character-set=utf8 < ${WORKDIR}/db_schema.sql >& error.log

# 检查数据库创建是否成功
if [ $? -eq 0 ]; then
    echo "数据库创建成功"
else
    echo "数据库创建失败，请检查配置"
    cat error.log
    exit 1
fi

# 创建数据表
echo "正在创建数据表，请耐心等待..."
for file in ${SQL_PATH}/*
do
    if [ -f "$file" ] ; then
        postfix=$(echo $file | awk -F'.' '{print  "."$NF}')
        if [ $postfix = ".sql" ] ; then
            echo "执行文件: $file"
            mysql -h ${db_host} -u${db_user} -p${db_pass} -P${db_port} --default-character-set=utf8 ${db_name} < $file >& error.log

            echo -e "\n===========$file=============\n" >>${LOG_FILE}
            cat error.log >>${LOG_FILE}

            error=$(grep ERROR error.log)
            if [ -n "$error" ] ; then
                echo "错误: $error"
                exit 1
            else
                echo "文件 $file 执行成功"
            fi
        fi
    fi
done

# 清理临时文件
rm -f error.log

echo "数据库安装完成！"
echo "数据库名称: ${db_name}"
echo "数据库主机: ${db_host}:${db_port}"
echo "执行日志: ${LOG_FILE}"

echo ""
echo "=========================================="
echo "🎉 初始化完成！"
echo "=========================================="
echo ""
echo "📋 超级管理员账户信息:"
echo "   用户名: admin"
echo "   邮箱: admin@okx-robot.com"
echo "   密码: password"
echo "   角色: admin"
echo ""
echo "⚠️  重要提醒:"
echo "   1. 请立即修改默认密码！"
echo "   2. 在生产环境中使用强密码"
echo "   3. 定期更换密码"
echo ""
echo "🔗 系统配置:"
echo "   - 系统名称: OKX Trading Robot"
echo "   - 系统版本: 1.0.0"
echo "   - 维护模式: 关闭"
echo ""
echo "=========================================="
